package cn.udinghuo.model.archives.system;

import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

import cn.udinghuo.core.value.Enumable;
/**
 * @author zhaoyt
 *	默认图片类型
 */
public enum DefaultImgType implements Enumable {

	
	/**
     * 商品默认图片
     */
	PRODUCT_DEFAULT_IMG("商品默认图片" ,(short)1),
	/**
     * 默认头像
     */
	AVATAR_DEFAULT_IMG("默认头像" ,(short)2),
	/**
     * 默认公司LOGO
     */
	CORPLOGO_DEFAULT_IMG("默认公司LOGO" ,(short)3),
	/**
     * 默认宣传图片
     */
	SLIDE_DEFAULT_IMG("默认宣传图片" ,(short)4),
	/**
     * 默认微信图标
     */
	ADCODE_DEFAULT_IMG("默认微信图标" ,(short)5);
	
	private String title;
	private short value;
	
	DefaultImgType(String title,short value){
		this.title=title;
		this.value=value;
	}

	
	@JsonValue
	@Override
	public Short getValue(){
		return this.value;
	}
	
	@Override
	public String getName(){
		return this.name();
	}
	
	@Override
	public String getTitle(){
		return this.title;
	}
	
	private static HashMap<Integer, DefaultImgType> map = null;
	
	private synchronized static void initMap() {
		if (map != null) {
			return;
		}
		map = new HashMap<Integer, DefaultImgType>();
		DefaultImgType[] items = DefaultImgType.values();
		for (DefaultImgType item : items) {
			map.put(item.getValue().intValue(), item);
		}
	}
	@JsonCreator
	public static DefaultImgType find(Integer value) {
		if (value == null) {
			return null;
		}
		if (map == null) {
			initMap();
		}
		return map.get(value);
	}
}

